Skip to content

#1006 Extend lifecycle-event instrumentation to five high-traffic skills - #1034

Merged
williamthorsen merged 6 commits into
mainfrom
1006
Jul 19, 2026
Merged

#1006 Extend lifecycle-event instrumentation to five high-traffic skills#1034
williamthorsen merged 6 commits into
mainfrom
1006

Conversation

@williamthorsen

Copy link
Copy Markdown
Owner

What

Sessions running plan, refine-plan, design-and-plan, and merge-pr, along with orchestrated runs, now surface in the live lane view. A watcher sees each run start, where it pauses waiting on a specific question or approval, the artifacts it saves, and how it ends: completed, stopped, or declined. In design-and-plan, every question in the design dialogue now surfaces individually, so a watcher can tell at a glance which one a paused session is waiting on. Orchestrated runs are labeled with the workflow that launched them.

Why

Only a handful of skills reported their lifecycle to the live lane view, so most planning, merge, and orchestration sessions ran invisibly — a watcher could not tell what a session was doing or which question it was blocked on — and evidence about the event channel accrued slowly. These five sites were the untracked high-traffic remainder.

Details

🏗️ Internal features

  • Instruments five sites with the slimmed lifecycle event set (skill.started, skill.completed, artifact.written, input.requested) via step-anchored cues: plan, refine-plan, design-and-plan, merge-pr, and the orchestrate engine.
  • design-and-plan carries a standing "narrate every ask" rule, so each dialogue question emits input.requested with a short label before it is presented.
  • The orchestrate engine attributes each run to its invoking wrapper (orchestrate-dev or orchestrate-review) in the skill.started payload, and its lifecycle emission runs regardless of MCP availability — the lane-view channel is a separate helper, not an MCP tool, so reporting survives an unavailable tracking server.
  • Emission mechanics stay in the shared _partials/lifecycle-events.md include; each skill body carries only cues, so there is no per-skill boilerplate to drift.

Closes #1006

Sessions running `plan` now appear in the live lane view: planning start, the saved plan artifact, completion, and the wait at the next-steps menu are all reported as they happen.
…t cues

Sessions running `refine-plan` now appear in the live lane view: the run's start, the wait on plan-review questions, the saved revised plan, completion (including the no-findings and failed-revision endings), and the wait at the next-steps menu are all reported as they happen.
…event cues

Sessions running `design-and-plan` now appear in the live lane view. Every ask in the design dialogue — clarifying questions, approval gates, the next-steps menu — is reported with a short label before it is presented, so a watcher can see at a glance which question each session is waiting on. The run's start, the saved ticket and plan artifacts, completion, and early stops are reported as they happen.
Sessions running `merge-pr` now appear in the live lane view: the run's start, the wait at the merge-approval gate, and the outcome — merged, declined, or stopped — are reported as they happen.
…nt cues

Orchestrated runs now appear in the live lane view under the wrapper skill that launched them (`orchestrate-dev` or `orchestrate-review`): the run's start, the MCP-availability prompt, the saved run summary, the run outcome, and the wrap-up offer are reported as they happen. Lifecycle reporting works even when the MCP server is unavailable.
The wait at `refine-plan`'s ticket-update offer is now reported to the live lane view, so a session paused on that consent no longer appears finished and silent.
@williamthorsen williamthorsen added internal Internal change without external impact scope:agents labels Jul 19, 2026
@github-actions

Copy link
Copy Markdown

Dependency audit

Production dependency audit passed.

@williamthorsen williamthorsen self-assigned this Jul 19, 2026
@williamthorsen
williamthorsen marked this pull request as ready for review July 19, 2026 03:25
@williamthorsen
williamthorsen merged commit 6dfe439 into main Jul 19, 2026
3 checks passed
@williamthorsen
williamthorsen deleted the 1006 branch July 19, 2026 03:32
williamthorsen added a commit that referenced this pull request Aug 4, 2026
…e-v0.2.2 codeassembly-v0.4.0 factory-v0.2.2 codeassembly-mcp-v0.2.2

codeassembly-v0.4.0
- #1153 feat: Make codeassembly and kb CLI tools publishable (#1164)
- #1091 fix: Anchor a project-deployed link where its target deploys (#1159)
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- refactor: Refine typescript-preferences
- #1150 fix: State doc-description form and make comment mood opt-in (#1151)
- deps: Upgrade first-party linting deps to latest version
- #1137 feat: Establish personal rulebooks for code layout and TypeScript preferences (#1144)
- #1126 feat: Check a package's own guidance content before it ships (#1138)
- refactor: Fix lint
- tooling: Remove redundant lint rules
- #1133 fix: Reject an anchor link that names no heading (#1135)
- #1122 feat: Capture lede decisions as an accumulating corpus (#1132)
- #1125 feat: Honor invocation tokens in rulebook bodies (#1129)
- #1107 feat: Render rulebook links and path tokens per harness (#1124)
- #1115 feat: Sync guidance at build and install so an upgrade cannot leave it stale (#1123)
- #1114 feat: Adopt a dependency's guidance by naming the package (#1121)
- #1088 feat: Deliver project ambient rulebooks per harness (#1113)
- #1087 refactor: Rename the authoring rulebook and mark its enforced rules (#1092)
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- #1094 refactor: Remove the ambient ripgrep dependency from the test suite (#1097)
- deps: Upgrade all deps to latest version
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint
- #1077 feat: Show the proposed edit above post-review menu options (#1078)
- #1068 feat: Deliver ambient rulebooks mechanically, retiring GLOBAL.md (#1075)
- #1069 feat: Add a no-second-person rule to the lede-voice doctrine (#1070)
- #1050 feat: Add a redundancy rule to the lede-voice doctrine (#1058)
- #1035 internal: Add lifecycle workspace with the canonical envelope, vocabulary & lane fold (#1049)
- #1006 internal: Extend lifecycle-event instrumentation to five high-traffic skills (#1034)
- #1028 feat: Rule out absence-of-removed-code tests (#1032)
- #114 feat: Let reviewers emit gated insights into review artifacts (#1031)
- #1027 internal: Retire input.received and redundant skill.progress emits (#1030)
- #1026 fix: Name the side effects an approval ask authorizes (#1029)
- #1022 fix: Normalize action and question label identifiers across asks blocks (#1025)

factory-v0.2.2
- #1156 refactor: Rename packages to publishable names (#1157)
- deps: Upgrade all deps to latest version
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- tooling: Remove redundant lint rules
- deps: Upgrade deps to latest version
- deps: Upgrade all deps to latest version
- deps: Upgrade all deps to latest version
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint
- deps: Upgrade all deps to latest version

kb-v0.3.0
- #1153 feat: Make codeassembly and kb CLI tools publishable (#1164)
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- tooling: Remove redundant lint rules
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint

codeassembly-lifecycle-v0.2.0
- #1153 feat: Make codeassembly and kb CLI tools publishable (#1164)
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- tooling: Remove redundant lint rules
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- tooling: Upgrade all deps to latest version & modernize configs
- #1038 feat: Add the read-only git adapter for worktree and base-branch ground truth (#1059)
- #1051 feat: Bound fold memory and rescan cost with a retention window (#1057)
- #1035 internal: Add lifecycle workspace with the canonical envelope, vocabulary & lane fold (#1049)

codeassembly-mcp-v0.2.2
- deps: Upgrade all deps to latest version
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint

codeassembly-run-core-v0.2.2
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Internal change without external impact scope:agents

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extend lifecycle-event instrumentation to additional high-traffic skills

1 participant